#include <stdio.h>
#include <stdlib.h>

struct Student {
    int id;
    char name[50];
    int age;
    float score;
};

int main()
{
    struct Student student; // 定义一个 Student 类型的变量
    FILE *file;

    printf("请输入学生的学号: ");
    scanf("%d", &student.id);

    printf("请输入学生的姓名: ");
    scanf("%s", student.name);

    printf("请输入学生的年龄: ");
    scanf("%d", &student.age);

    printf("请输入学生的成绩: ");
    scanf("%f", &student.score);

    // 将学生信息保存到文件
    file = fopen("student.txt", "w"); // 以写模式打开文件
    if (file == NULL) {
        printf("无法打开文件！\n");
        return 1;
    }
    fprintf(file, "%d %s %d %.2f\n", student.id, student.name, student.age, student.score);
    fclose(file); // 关闭文件
    printf("学生信息已保存到文件 student.txt 中。\n");

    // 从文件读取学生信息
    file = fopen("student.txt", "r"); // 以读模式打开文件
    if (file == NULL) {
        printf("无法打开文件！\n");
        return 1;
    }
    fscanf(file, "%d %s %d %f", &student.id, student.name, &student.age, &student.score);
    fclose(file); // 关闭文件

    printf("\n从文件读取的学生信息如下:\n");
    printf("学号: %d\n", student.id);
    printf("姓名: %s\n", student.name);
    printf("年龄: %d\n", student.age);
    printf("成绩: %.2f\n", student.score);

    return 0;
}